草庐IT

c++ - 基类的前向声明

全部标签

javascript - 如何在 TypeScript 中初始化(声明)数组?

我是TypeScript的绝对初学者。我想通过“for”循环在TypeScript中初始化一个数字数组,如下所示:publichours:number[];constructor(){for(leti:number=1;i我得到一个错误:无法设置未定义的属性“1”。你能帮帮我吗? 最佳答案 这一行:publichours:number[];不创建新数组,它只是声明它。如果你编译这段代码:classMyClass{publichours:number[];constructor(){for(leti:number=1;i你得到:var

javascript - 关于javascript函数声明的问题

javascript函数声明如下:JSON.stringify=JSON.stringify||function(obj){//stuff};上面的声明和下面的声明有什么不同?functionstringify(obj){//stuff} 最佳答案 functionstringify将在全局范围内声明函数(如果您不在另一个范围内,例如另一个函数或哈希)或您当前所在的范围.例子:functiona(){...}/*globalscope*/functiona(){functionb(){...}/*scopeofthea()funct

javascript - 在声明之前调用一个函数,独立于浏览器?

如果我在我的中这样做标签:在foo.js中我这样做:varfoo=newFoo();functionFoo(){//codehere}这段代码能否可靠地实例化变量foo即使它包含在函数定义之上,还是应该将它移动到文件底部,如下所示:functionFoo(){//codehere}varfoo=newFoo(); 最佳答案 您的示例可以在任何遵循ECMAScript标准的浏览器中运行(至少在这个问题上都可以)。参见specification的第10.3-10.5节.首先设置局部作用域,然后函数体实际运行。阅读10.5(该部分确实不是

javascript - 在 Javascript 中声明数组时应遵循哪一种最佳实践?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:CreateanemptyobjectinJavaScriptwith{}ornewObject()?当我想声明一个新数组时,我使用这种表示法vararr=newArray();但是当在线测试时,例如在jsbin上,警告提示我“使用数组文字符号[]”。我没有找到避免使用构造函数的理由。在某种程度上是否比使用[]效率低?或者这是不好的做法?是否有充分的理由使用vararr=[];而不是vararr=newArray();?

JavaScript:声明 vs 表达式 vs 语句

在过去的几个小时里,我一直在试图找出这3个之间的区别,而不仅仅是区别,我也一直在试图找出哪些是同义词,MDN将所有声明称为“声明”,所以我认为那是真实的。但是,我阅读的所有文章和SO问题都没有提供给我区分3(或2,表达式与语句)的备忘单。我注意到语句的一点是它们都以某种方式涉及一个特殊的JavaScript关键字,如break或for或var。文章说表达式求值,而语句执行操作。那什么是函数呢?它是一个语句表达式混合体(因为它在调用时都执行一个Action,并返回一个值)?现在,我假设情况并非如此,因为函数调用不涉及JavaScript关键字。然后是声明,每一个声明也是一个声明吗?我也知

javascript - typescript :找不到模块 'react-cards' 的声明文件

我是ReactJS的新手,我发现自己陷入了下一件事。我已经像这样通过npm安装了react-cards:npminstall--savereact-cards安装没问题,我想像这样在我的代码中导入它:importCardfrom'react-cards';但后来我说这个时出错:Couldnotfindadeclarationfileformodule'react-cards':'path'implicitlyhasan'any'type.Try'npminstall@types/react-cards'ifitexistsoraddanewdeclaration(.d.ts)filec

javascript - 在循环中声明谷歌地图标记

我对谷歌地图标记上的事件监听器有一个奇怪的问题。基本上我想在循环中声明一堆标记,并让每个标记都有一个关联的信息窗口。相关代码为:varmarkers=[];varcontents=[];varinfowindows=[];for(i=0;i'+'';infowindows[i]=newgoogle.maps.InfoWindow({content:contents[i],maxWidth:300});google.maps.event.addListener(markers[i],'click',function(){infowindows[i].open(map,markers[i]

javascript - 如果我多次声明同一个变量,会不会有什么问题?

假设我有一些代码://Javascriptvarelements=[];functionaddNumbah1(){vari=1;elements.push(i);}functionaddNumbah2(){vari=2;elements.push(i);}一直到addNumbah999(),每次都声明i变量是不是不好的形式?那会破坏什么吗?我应该怎么做://Javascriptvarelements=[];varifunctionaddNumbah1(){i=1;elements.push(i);}functionaddNumbah2(){i=2;elements.push(i);}

javascript - JS中声明成员函数

我试过两种方式在JS中声明一个成员函数:functioninit(){varname="Mozilla";functiondisplayName(){alert(name);}}a=newinit();a.displayName()和functioninit(){varname="Mozilla";displayName=function(){alert(name);}}a=newinit();a.displayName()第一个方法告诉我displayName()是undefined。我看到它的方式是创建了一个名为displayName的Function类型的变量,因此它应该可以工作

javascript - 根据 Google JavaScript 风格指南的 block 内函数声明

根据GoogleJavaScript风格指南,函数声明不应在block内声明,因为这不是ECMAScript的一部分。但是,我并不完全清楚什么才算是block。具体来说,我有一个构造函数,我想在该构造函数的范围内定义一个函数。这算作一个block中的函数吗,因为它在一组{}中?如果是这样,是否意味着每个函数声明都必须是全局的?一些好的措施代码:错误(?)functionConstructor(){functionShout(){alert('THEBESTUXISINALLCAPS.');}}右(?)functionConstructor(){varShout=function(){a